<?xml version='1.0' encoding='UTF-8' ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:ui="http://java.sun.com/jsf/facelets"
      xmlns:h="http://java.sun.com/jsf/html"
      xmlns:p="http://primefaces.org/ui"
      xmlns:f="http://java.sun.com/jsf/core">

    <body>

        <ui:composition template="./plantilla.xhtml">

            <ui:define name="content">
                
                <h:form id="formularioDatos">
                    
                    <p:dataTable id="tablaDatos" value="#{paisAccion.obtenerTodos()}" var="entidad" >
                        <f:facet name="header">
                            <h:outputText value="Lista Pais"/>
                        </f:facet>
                        <p:column headerText="Id" filterBy="#{entidad.idpais}" filterMatchMode="contains">
                            <h:outputText value="#{entidad.idpais}"/>
                        </p:column>
                        <p:column headerText="Nombre" filterBy="#{entidad.nombre}" filterMatchMode="contains">
                            <h:outputText value="#{entidad.nombre}"/>
                        </p:column>
                        <p:column headerText="Descripción">
                            <h:outputText value="#{entidad.descripcion}"/>
                        </p:column>
                        <p:column headerText="Acciones">
                            <p:commandButton value="Ver" icon="ui-icon-search" actionListener="#{paisAccion.seleccionEntidadListaDatos()}"  oncomplete="dialogoMan.show()" update=":formularioMantenimiento">
                                <f:setPropertyActionListener value="#{entidad}" target="#{paisAccion.entidad}"/>
                            </p:commandButton>
                        </p:column>
                        <f:facet name="footer">
                            <p:commandButton value="Nuevo" actionListener="#{paisAccion.generarNuevaEntidad()}"  oncomplete="dialogoMan.show()" update=":formularioMantenimiento"/>
                        </f:facet>
                    </p:dataTable>
                    
                </h:form >
                
                <h:form id="formularioMantenimiento">
                    <p:dialog id="mantenimientoDialogo" widgetVar="dialogoMan" modal="true" header="Mantenimiento #{paisAccion.entidad.class.simpleName}" >
                        <p:ajax event="close" listener="#{paisAccion.refrescarCampos()}" update="@form" />
                        <h:panelGrid columns="2">
                            <h:outputText value="Id:"/>
                            <p:inputText id="IdPais" value="#{paisAccion.entidad.idpais}" readonly="#{!paisAccion.nuevoRegistro}" required="true" requiredMessage="Campo Pais es obligatorio"/>
                            <h:outputText value="Nombre:"/>
                            <p:inputText id="NombrePais" value="#{paisAccion.entidad.nombre}" required="true" requiredMessage="Campo Nombre es obligatorio"/>
                            <h:outputText value="Descripción:"/>
                            <p:inputText id="decripcionPais" value="#{paisAccion.entidad.descripcion}" required="false"/>
                            <p:commandButton value="Guardar" action="#{paisAccion.modificar()}" update=":mensajes :formularioDatos:tablaDatos :formularioMantenimiento" oncomplete="dialogoMan.show()" />
                            <p:commandButton value="Eliminar" rendered="#{!paisAccion.nuevoRegistro}" onclick="confirmation.show();" />
                        </h:panelGrid>
                    </p:dialog>
                </h:form>
                
                <h:form>
                    <p:confirmDialog id="confirmDialog" message="¿Esta seguro que desea eliminar la entidad #{paisAccion.entidad.class.simpleName}?"  
                                     header="Confirmación de Eliminación" severity="alert" widgetVar="confirmation">  
                        <p:commandButton id="confirm" value="Si" oncomplete="confirmation.hide()" actionListener="#{paisAccion.eliminar()}" 
                                         update=":mensajes :formularioDatos:tablaDatos :formularioMantenimiento:mantenimientoDialogo"/>  
                        <p:commandButton id="decline" value="No" onclick="confirmation.hide()" type="button" />   

                    </p:confirmDialog>
                </h:form>
                
            </ui:define>

        </ui:composition>

    </body>
</html>
